
package com.joysuch.wwyt.risk.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.joysuch.wwyt.common.bean.KLMapping;
import com.joysuch.wwyt.core.entity.BaseUser;
import com.joysuch.wwyt.risk.entity.dto.UserBean;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class RiskPointListBean {

    private Long id;
    private String code;
    private String name;
    private Long riskDistrictId;
    private String riskDistrctName;
    private String description;
    // 易发生的事故类型
    private String accidentType;
    private Integer state;
    private String type;
    private String typeName;
    private String subType;
    private String subTypeName;
    private String standard;
    private String unstandardSituationConsequence;

    // 风险风险辨识
    private String riskContentIdentify;

    //风险要素(人，机，物，环)
    private String riskFactor;
    private List<String> riskFactors;
    //安全警示标志
    private String safeWarnMark;
    //辨识人员
    private Long identifyUserId;
    private String identifyUserStr;
    private List<UserBean> identifyUserIdList;
    private String identifyUserName;
    //责任人员
    private Long dutyUserId;
    private String dutyUserName;
    //责任单位名称
    private String responsibleDepartName;
    //状态
    private String status;
    @ApiModelProperty("审核意见")
    private String auditOpinion;
    @ApiModelProperty("审核人员")
    private Long auditUserId;
    @ApiModelProperty("审核人员姓名")
    private String auditUserName;
    @ApiModelProperty("审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime auditDateTime;

    @ApiModelProperty("固有风险")
    private Integer stableRiskLevel;
    @ApiModelProperty("固有风险名称")
    private String stableRiskLevelName;
    @ApiModelProperty("控制风险")
    private Integer controlRiskLevel;
    @ApiModelProperty("控制风险名称")
    private String controlRiskLevelName;
    @ApiModelProperty("责任岗位：此处岗位信息来自数据字典")
    private Long dutyJobId;
    private String dutyJobName;
    @ApiModelProperty("应急处置措施")
    private String emergencyHandleMeasures;
    @ApiModelProperty("备注")
    private String remark;
    @ApiModelProperty("度量值")
    private String measureValue;
    @ApiModelProperty("签到方式")
    private Integer signInMethod;
    @ApiModelProperty("是否区分楼层(1：开启，0：关闭)")
    private Integer distinguishFloor;
    private String distinguish;
    @ApiModelProperty("nfc的CODE")
    private String nfc;
    //nfc的名称
    private String nfcName;
    @ApiModelProperty("组件围栏的信息")
    private String fenceData;

    @Data
    public static class Search {
        private Integer state;
        private String type;
        private Long riskDistrictId;
        @ApiModelProperty("只有风险点分页查询需要传flag: 风险点上报 0; 风险审核 1; 风险点清单 2;全部 3")
        private Integer flag = 0;
        private Integer refEval;
        //findSharedByPage接口:风险点名称和编号   findByPage接口:风险点名称/区域名称
        @ApiModelProperty("风险点名称/区域名称")
        private String nameOrCode;
        @ApiModelProperty("控制风险")
        private Integer controlRiskLevel;
        @ApiModelProperty("固有风险")
        private Integer stableRiskLevel;
        private Long bizId;
        //风险点名称
        private String name;
        //围栏状态(0:未设置，1:已设置)
        private Integer status;
        //责任单位
        private Long departId;
        //审核状态 1为查询审核全部
        private Integer auditStatus=0;
        private Integer auditFlag;
        @ApiModelProperty("签到方式(0：人员定位，1：刷卡签到，2：不签到，3：二维码签到)")
        private Integer signInMethod;
    }
}
